<?php
          class Up{
//        	 显示主页类
             
             
           public function index(){
           	include 'com/index.html';
			
           }
//			显示类结束
//            生成新数据容器
              protected $_shuju=array();
//			上传类
            public function put(){	  
//			  重组数据
                     
                    $kk=$this->_jiaoyan();
					
					if($kk===true){
						
                 for($i=0;$i<count($_FILES['upfile']['name']);$i++){
               	    $this->_shuju[]=array(
					'name'=>$_FILES['upfile']['name'][$i],
					'type'=>$_FILES['upfile']['type'][$i],
					'tmp_name'=>$_FILES['upfile']['tmp_name'][$i],
					'error'=>$_FILES['upfile']['error'][$i],
					'size'=>$_FILES['upfile']['size'][$i],
					);		

               }

//	             重组数据完成
                  $this->_yidong();		
		echo <<<hh
					<script>
					alert('上传成功!')
					location.href="index.php"
					</script>
hh;
					}else{
						
	echo <<<bb
					<script>
					alert('上传失败,因为{$kk}!')
					location.href="index.php"
					</script>
bb;
					}
	  
            } 
//			       重组数据完成
			 
//			    移动数据方法
			       protected  function _yidong(){
			       	foreach($this->_shuju as $k=>$v){
//			       		获得后缀
					$pic1=pathinfo($v['name'])['extension'];
//					重新命名
					$pic=microtime(true).'.'.$pic1;
//					移动文件
                     rename($v['tmp_name'], 'file/'.$pic);
			       	}
			       }
//			      移动完成
//                       校验数据
                         protected $_houzhui=array('jpg','bmp','png');
                   protected function _jiaoyan(){
//                 	        校验错误
                          foreach($_FILES['upfile']['error'] as $k=>$v){
                          	  switch(true){
							  	case $v==1:
							    return '文件过大';
									break;
									case $v==2:
							       return '文件超过页面最大值';
									break;
									case $v==3:
							       return '有部分文件未上传';
									break;
									case $v==4:
							         return '无文件上传';
									break;		
                          	  }	
                          }
//					校验错误完毕
//                          校验后缀   
                       foreach($_FILES['upfile']['name'] as $k=>$v){
                       	         $sc=pathinfo($v)['extension'];
						             if(!in_array($sc, $this->_houzhui)){
						             	return '后缀名不对';
						             }
                       }
//					校验后缀结束 
//                         校验大小
                          foreach($_FILES['upfile']['size'] as $k=>$v){
                          	            if($v>0.5*1024*1024){
                          	            	return '上传文件不能超过500K';
                          	            }
                          }
                           
//					校验大小结束
                    return true;
                   }
//			        校验结束
			
			
			
          }
          
?>